﻿package mortal.game.view.chat.chatViewData
{
    import Message.DB.Tables.*;
    import Message.Game.*;
    import Message.Public.*;
    import __AS3__.vec.*;
    import com.gengine.utils.*;
    import com.gengine.utils.pools.*;
    import extend.language.*;
    import flash.geom.*;
    import mortal.common.global.*;
    import mortal.component.gconst.*;
    import mortal.game.cache.*;
    import mortal.game.mvc.*;
    import mortal.game.resource.*;
    import mortal.game.resource.info.*;
    import mortal.game.resource.info.item.*;
    import mortal.game.resource.tableConfig.*;
    import mortal.game.scene3D.layer3D.utils.*;
    import mortal.game.scene3D.map3D.sceneInfo.*;
    import mortal.game.scene3D.map3D.util.*;
    import mortal.game.scene3D.player.type.*;
    import mortal.game.utils.*;
    import mortal.game.view.chat.*;
    import mortal.game.view.chat.chatPanel.*;
    import mortal.game.view.chat.chatPrivate.*;
    import mortal.game.view.chat.data.*;
    import mortal.game.view.guild.redPack.*;
    import mortal.game.view.platform.*;
    import mortal.game.view.platform.platformTencent.*;
    import mx.utils.*;

    public class ChatMessageWorking extends Object
    {
        public static var complexObj:Object = {name:ChatArea.Complex, label:Language.getString(11539)};
        public static var worldObj:Object = {name:ChatArea.World, label:Language.getString(11540)};
        public static var unionObj:Object = {name:ChatArea.Union, label:Language.getString(11541)};
        public static var teamObj:Object = {name:ChatArea.Team, label:Language.getString(11542)};
        public static var noTeamObj:Object = {name:ChatArea.Team, label:Language.getString(11543)};
        public static var sceneObj:Object = {name:ChatArea.Scene, label:Language.getString(11544)};
        public static var crossObj:Object = {name:ChatArea.Scene, label:Language.getString(11545)};
        public static var forceObj:Object = {name:ChatArea.Force, label:Language.getString(11546)};
        public static var crossGroupObj:Object = {name:ChatArea.CrossGrop, label:ChatType.CrossGroup};
        public static var crossGroupNoTeamObj:Object = {name:ChatArea.CrossGrop, label:Language.getString(11547)};
        public static var groupObj:Object = {name:ChatArea.Group, label:Language.getString(11548)};
        public static var guildUnionObj:Object = {name:ChatArea.GuildUnion, label:Language.getString(11549)};
        private static var _chatChannelsData:Array;
        private static var _chatShowAreaData:Array;
        private static var _chatShowAllAreaData:Array;
        private static var _faceList:Array;
        private static var _vipFaceList:Array;
        private static const maxFaceNum:int = 5;
        private static const maxVIPFaceNum:int = 3;

        public function ChatMessageWorking()
        {
            return;
        }// end function

        public static function getNameByChatType(param1:int) : String
        {
            var _loc_2:* = ChatArea.World;
            switch(param1)
            {
                case EChatType._EChatTypeWorld:
                {
                    _loc_2 = ChatArea.World;
                    break;
                }
                case EChatType._EChatTypeCamp:
                {
                    _loc_2 = ChatArea.Country;
                    break;
                }
                case EChatType._EChatTypeTeam:
                {
                    _loc_2 = ChatArea.Team;
                    break;
                }
                case EChatType._EChatTypeGuild:
                case EChatType._EChatTypeGuildRoll:
                case EChatType._EChatTypeGuildBattle:
                {
                    _loc_2 = ChatArea.Union;
                    break;
                }
                case EChatType._EChatTypeSpace:
                {
                    _loc_2 = ChatArea.Scene;
                    break;
                }
                case EChatType._EChatTypePrivate:
                {
                    _loc_2 = ChatArea.Secret;
                    break;
                }
                case EChatType._EChatTypeTrumpet:
                case EChatType._EChatTypeCrossTrumpet:
                {
                    _loc_2 = ChatArea.Speaker;
                    break;
                }
                case EChatType._EChatTypeForce:
                {
                    _loc_2 = ChatArea.Force;
                    break;
                }
                default:
                {
                    break;
                }
            }
            return _loc_2;
        }// end function

        public static function getChatTypeByAreaName(param1:String) : String
        {
            switch(param1)
            {
                case ChatArea.World:
                {
                    return ChatType.World;
                }
                case ChatArea.Country:
                {
                    return ChatType.State;
                }
                case ChatArea.Scene:
                {
                    if (chatChannelsData.indexOf(crossObj) > -1)
                    {
                        return ChatType.CrossServer;
                    }
                    return ChatType.Scene;
                }
                case ChatArea.Union:
                {
                    return ChatType.Union;
                }
                case ChatArea.Team:
                {
                    return ChatType.Team;
                }
                case ChatArea.Secret:
                {
                    return ChatType.Secret;
                }
                case ChatArea.Speaker:
                {
                    return ChatType.Speaker;
                }
                case ChatArea.Force:
                {
                    return ChatType.Force;
                }
                case ChatArea.CrossGrop:
                {
                    return ChatType.CrossGroup;
                }
                case ChatArea.Group:
                {
                    return ChatType.Group;
                }
                case ChatArea.GuildUnion:
                {
                    return ChatType.GuildUnion;
                }
                default:
                {
                    return ChatType.World;
                    break;
                }
            }
        }// end function

        public static function get chatChannelsData() : Array
        {
            if (!_chatChannelsData)
            {
                _chatChannelsData = [worldObj, unionObj, teamObj, sceneObj];
            }
            return _chatChannelsData;
        }// end function

        public static function get chatShowAreaData() : Array
        {
            if (!_chatShowAreaData)
            {
                _chatShowAreaData = [complexObj, worldObj, unionObj, teamObj, sceneObj];
            }
            return _chatShowAreaData;
        }// end function

        public static function changeToBattleField(param1:Boolean = false) : void
        {
            if (param1)
            {
                chatChannelsData[3] = forceObj;
                chatShowAreaData[4] = forceObj;
            }
            else
            {
                chatChannelsData[3] = sceneObj;
                chatShowAreaData[4] = sceneObj;
            }
            return;
        }// end function

        public static function changeToGuildGroup() : void
        {
            chatChannelsData[2] = groupObj;
            chatShowAreaData[3] = groupObj;
            return;
        }// end function

        public static function changeMap(param1:Boolean) : void
        {
            if (param1)
            {
                chatChannelsData[3] = crossObj;
                chatShowAreaData[4] = crossObj;
            }
            else
            {
                chatChannelsData[3] = sceneObj;
                chatShowAreaData[4] = sceneObj;
            }
            return;
        }// end function

        public static function changeGroup(param1:Boolean, param2:Boolean, param3:Boolean) : void
        {
            chatChannelsData[2] = teamObj;
            chatShowAreaData[3] = teamObj;
            return;
        }// end function

        public static function get chatShowAllAreaData() : Array
        {
            if (!_chatShowAllAreaData)
            {
                _chatShowAllAreaData = [complexObj, worldObj, unionObj, teamObj, forceObj, sceneObj];
            }
            return _chatShowAllAreaData;
        }// end function

        public static function getNameByLabel(param1:String) : String
        {
            var _loc_3:Object = null;
            var _loc_2:* = ChatArea.World;
            for each (_loc_3 in chatChannelsData)
            {
                
                if (_loc_3["label"] == param1)
                {
                    _loc_2 = _loc_3["name"];
                    break;
                }
            }
            return _loc_2;
        }// end function

        public static function getForcePlayerCellData(param1:SMiniPlayer, param2:int, param3:int = 12) : Vector.<ChatCellData>
        {
            var _loc_4:uint = 0;
            var _loc_5:* = new Vector.<ChatCellData>;
            var _loc_6:* = ObjectPool.getObject(ChatCellData);
            _loc_6.init(CellDataType.IMAGE);
            _loc_6.className = param1.sex == ESex._ESexMan ? (ImagesConst.Chat_Man) : (ImagesConst.Chat_Woman);
            _loc_6.elementFormat = ChatStyle.getImageFormat(4, param3);
            _loc_5.push(_loc_6);
            var _loc_7:* = GameDefConfig.instance.getBattlefieldForceInfo(param2);
            if (GameMapUtil.curMapState.isEscortCopy)
            {
                _loc_7 = GameDefConfig.instance.getItem("EscortCopyForce", param2);
            }
            if (!_loc_7)
            {
                return _loc_5;
            }
            var _loc_8:* = ObjectPool.getObject(ChatCellData);
            _loc_8.init(CellDataType.GENERAL, "[" + _loc_7.text + "]");
            _loc_8.elementFormat = ChatStyle.getContentFormat(parseInt(_loc_7.text1.slice(1), 16), param3);
            _loc_5.push(_loc_8);
            var _loc_9:String = "";
            if (!EntityUtil.isSameServerByRole(param1.entityId))
            {
                _loc_9 = "[" + NameUtil.getProxyName(param1.entityId) + "]";
            }
            var _loc_10:* = ObjectPool.getObject(ChatCellData);
            _loc_10.init(CellDataType.PLAYER, _loc_9 + "[" + param1.name + "]");
            _loc_4 = ColorConfig.instance.getCareerColor(param1.career).intColor;
            _loc_10.elementFormat = ChatStyle.getPlayerNameFormat(_loc_4, param3);
            _loc_10.data = param1;
            _loc_5.push(_loc_10);
            return _loc_5;
        }// end function

        public static function getPlayerCellData(param1:SMiniPlayer, param2:int = 12) : Vector.<ChatCellData>
        {
            var _loc_3:uint = 0;
            var _loc_4:* = new Vector.<ChatCellData>;
            var _loc_5:* = ObjectPool.getObject(ChatCellData);
            _loc_5.init(CellDataType.PLAYER, "[" + param1.name + "]");
            _loc_3 = ColorConfig.instance.getCareerColor(param1.career).intColor;
            _loc_5.elementFormat = ChatStyle.getPlayerNameFormat(_loc_3, param2);
            _loc_5.data = param1;
            _loc_4.push(_loc_5);
            return _loc_4;
        }// end function

        public static function getCellDataByPlayerInfo(param1:ChatData, param2:Boolean = false) : Vector.<ChatCellData>
        {
            var _loc_11:ChatCellData = null;
            var _loc_12:ChatCellData = null;
            var _loc_13:ChatCellData = null;
            var _loc_14:int = 0;
            var _loc_15:int = 0;
            var _loc_16:int = 0;
            var _loc_17:int = 0;
            var _loc_18:ChatCellData = null;
            var _loc_19:int = 0;
            var _loc_20:ChatCellData = null;
            var _loc_21:String = null;
            var _loc_22:ChatCellData = null;
            var _loc_3:* = param1.fromMiniPlayer;
            var _loc_4:* = param1.fontSize;
            var _loc_5:* = param1.chatColor;
            var _loc_6:* = param1.jsObj;
            if (_loc_5 == -1)
            {
                _loc_5 = ChatStyle.getChatContentColor();
            }
            var _loc_7:* = new Vector.<ChatCellData>;
            var _loc_8:* = ObjectPool.getObject(ChatCellData);
            _loc_8.init(CellDataType.IMAGE);
            _loc_8.className = _loc_3.sex == ESex._ESexMan ? (ImagesConst.Chat_Man) : (ImagesConst.Chat_Woman);
            _loc_8.elementFormat = ChatStyle.getImageFormat(4, _loc_4);
            _loc_7.push(_loc_8);
            if (param1.fromMiniPlayer.VIP > 0 && param1.fromMiniPlayer.VIP <= 10)
            {
                _loc_11 = ObjectPool.getObject(ChatCellData);
                _loc_11.init(CellDataType.LOADINGIMAGE);
                _loc_11.data = {width:40, height:20};
                _loc_11.className = GameDefConfig.instance.getVipLevelIconUrl(param1.fromMiniPlayer.VIP);
                _loc_11.elementFormat = ChatStyle.getImageFormat(5, _loc_4);
                _loc_7.push(_loc_11);
            }
            if (ParamsConst.instance.isYYPlan && param1.fromMiniPlayer.YYpurple > 0)
            {
                _loc_12 = ObjectPool.getObject(ChatCellData);
                _loc_12.init(CellDataType.LOADINGIMAGE);
                _loc_12.data = {width:21, height:23};
                _loc_12.className = GameDefConfig.instance.getYYpurpleIconUrl(param1.fromMiniPlayer.YYpurple);
                _loc_12.elementFormat = ChatStyle.getImageFormat(5, _loc_4);
                _loc_7.push(_loc_12);
            }
            else if (PlatformConst.isThunder())
            {
                _loc_14 = 0;
                _loc_15 = 0;
                if (_loc_6)
                {
                    if (_loc_6["proxyLv"])
                    {
                        _loc_14 = int(_loc_6["proxyLv"]);
                    }
                    if (_loc_6["proxyExtend"])
                    {
                        _loc_15 = PlatformTencentUtil.getIsYear(_loc_6["proxyExtend"]);
                    }
                }
                if (_loc_14 > 0)
                {
                    _loc_13 = ObjectPool.getObject(ChatCellData);
                    _loc_13.init(CellDataType.LOADINGIMAGE);
                    _loc_13.data = {width:16, height:14};
                    _loc_13.className = GameDefConfig.instance.getPlatformThunderVipIconUrl(_loc_14);
                    _loc_13.elementFormat = ChatStyle.getImageFormat(5, _loc_4);
                    _loc_7.push(_loc_13);
                }
                if (_loc_15 > 0)
                {
                    _loc_13 = ObjectPool.getObject(ChatCellData);
                    _loc_13.init(CellDataType.LOADINGIMAGE);
                    _loc_13.data = {width:16, height:14};
                    _loc_13.className = GameDefConfig.instance.getPlatformThunderVipIconUrl(9);
                    _loc_13.elementFormat = ChatStyle.getImageFormat(5, _loc_4);
                    _loc_7.push(_loc_13);
                }
            }
            else if (PlatformConst.isQQ())
            {
                _loc_16 = 0;
                if (_loc_6 && _loc_6["proxyLv"])
                {
                    _loc_16 = _loc_6["proxyLv"];
                }
                if (_loc_16 > 0)
                {
                    if (_loc_6 && _loc_6["proxyExtend"])
                    {
                        _loc_17 = PlatformTencentUtil.getIsYear(_loc_6["proxyExtend"]);
                    }
                    _loc_18 = ObjectPool.getObject(ChatCellData);
                    _loc_18.init(CellDataType.LOADINGIMAGE);
                    if (_loc_17)
                    {
                        _loc_18.data = {width:36, height:18};
                    }
                    else
                    {
                        _loc_18.data = {width:21, height:23};
                    }
                    _loc_18.className = PlatformTencentUtil.getQQVipIconUrl(_loc_6);
                    _loc_18.elementFormat = ChatStyle.getImageFormat(5, _loc_4);
                    _loc_7.push(_loc_18);
                }
            }
            else if (PlatformConst.isShunWang())
            {
                if (_loc_6 && _loc_6["proxyLv"])
                {
                    _loc_19 = _loc_6["proxyLv"];
                }
                if (_loc_19 > 0)
                {
                    _loc_20 = ObjectPool.getObject(ChatCellData);
                    _loc_20.init(CellDataType.LOADINGIMAGE);
                    _loc_20.data = {width:21, height:23};
                    _loc_20.className = GameDefConfig.instance.getPlatformSWVipIconUrl(_loc_19);
                    _loc_20.elementFormat = ChatStyle.getImageFormat(5, _loc_4);
                    _loc_7.push(_loc_20);
                }
            }
            var _loc_9:String = "";
            if (!EntityUtil.isSameServerByRole(_loc_3.entityId))
            {
                _loc_9 = "[" + NameUtil.getProxyName(_loc_3.entityId) + "]";
            }
            var _loc_10:* = ObjectPool.getObject(ChatCellData);
            _loc_10.init(CellDataType.PLAYER, _loc_9 + "[" + _loc_3.name + "]");
            _loc_5 = ColorConfig.instance.getCareerColor(_loc_3.career).intColor;
            _loc_10.elementFormat = ChatStyle.getPlayerNameFormat(_loc_5, _loc_4);
            _loc_10.data = _loc_3;
            _loc_7.push(_loc_10);
            if (param2 && param1.guildPost)
            {
                _loc_21 = GameDefConfig.instance.getGuildPositonName(param1.guildPost);
                _loc_22 = ObjectPool.getObject(ChatCellData);
                _loc_22.init(CellDataType.GENERAL, "[" + _loc_21 + "]");
                _loc_22.elementFormat = ChatStyle.getContentFormat(16737010, _loc_4);
                _loc_7.push(_loc_22);
            }
            return _loc_7;
        }// end function

        public static function addGuildBattleCellData(param1:Vector.<ChatCellData>) : void
        {
            var _loc_2:* = ObjectPool.getObject(ChatCellData);
            _loc_2.init(CellDataType.GENERAL, Language.getString(11550));
            _loc_2.elementFormat = ChatStyle.getContentFormat(16735067, 12);
            param1.push(_loc_2);
            return;
        }// end function

        public static function getDiceCellDatas(param1:String, param2:String) : Vector.<ChatCellData>
        {
            var _loc_3:* = new Vector.<ChatCellData>;
            var _loc_4:* = ObjectPool.getObject(ChatCellData);
            _loc_4.init(CellDataType.GENERAL, Language.getString(11551));
            _loc_4.elementFormat = ChatStyle.getContentFormat(16735067, 12);
            _loc_3.push(_loc_4);
            _loc_4 = ObjectPool.getObject(ChatCellData);
            _loc_4.init(CellDataType.GENERAL, Language.getStringByParam(11552, param1, param2));
            _loc_4.elementFormat = ChatStyle.getContentFormat(10354461, 12);
            _loc_3.push(_loc_4);
            return _loc_3;
        }// end function

        private static function get faceList() : Array
        {
            var _loc_1:int = 0;
            if (!_faceList)
            {
                _faceList = new Array();
                _loc_1 = 72;
                while (_loc_1 > 0)
                {
                    
                    _faceList.push("/" + _loc_1.toString() + " ");
                    _faceList.push("/" + _loc_1.toString());
                    _loc_1 = _loc_1 - 1;
                }
            }
            return _faceList;
        }// end function

        private static function get vipFaceList() : Array
        {
            var _loc_1:int = 0;
            if (!_vipFaceList)
            {
                _vipFaceList = new Array();
                _loc_1 = 14;
                while (_loc_1 > 0)
                {
                    
                    _vipFaceList.push("/b" + _loc_1.toString() + " ");
                    _vipFaceList.push("/b" + _loc_1.toString());
                    _loc_1 = _loc_1 - 1;
                }
            }
            return _vipFaceList;
        }// end function

        public static function getCellDatas(param1:ChatData) : Vector.<ChatCellData>
        {
            var _loc_9:int = 0;
            var _loc_2:* = param1.content;
            var _loc_3:* = param1.itemList;
            var _loc_4:* = param1.petList;
            var _loc_5:* = param1.titleColor;
            var _loc_6:* = param1.fontSize;
            var _loc_7:* = param1.faceAuthority;
            if (_loc_5 == -1)
            {
                _loc_5 = ChatStyle.getChatContentColor();
            }
            var _loc_8:* = new Vector.<ChatCellData>;
            _loc_8 = getCellDatasAnalyzeShowItem(_loc_2, _loc_3, _loc_5, _loc_6);
            var _loc_10:* = new Vector.<ChatCellData>;
            _loc_9 = 0;
            while (_loc_9 < _loc_8.length)
            {
                
                if (_loc_8[_loc_9].type == CellDataType.GENERAL)
                {
                    _loc_10 = _loc_10.concat(getCellDatasAnalyzeShowPet(_loc_8[_loc_9].text, _loc_4, _loc_5, _loc_6));
                }
                else
                {
                    _loc_10.push(_loc_8[_loc_9]);
                }
                _loc_9++;
            }
            var _loc_11:* = new Vector.<ChatCellData>;
            _loc_9 = 0;
            while (_loc_9 < _loc_10.length)
            {
                
                if (_loc_10[_loc_9].type == CellDataType.GENERAL)
                {
                    _loc_11 = _loc_11.concat(getCellDatasAnalyzeMapPoint(_loc_10[_loc_9].text, _loc_5, _loc_6));
                }
                else
                {
                    _loc_11.push(_loc_10[_loc_9]);
                }
                _loc_9++;
            }
            var _loc_12:* = new Vector.<ChatCellData>;
            _loc_9 = 0;
            while (_loc_9 < _loc_11.length)
            {
                
                if (_loc_11[_loc_9].type == CellDataType.GENERAL)
                {
                    _loc_12 = _loc_12.concat(getCellDataByContent(_loc_11[_loc_9].text, _loc_5, true, _loc_6, _loc_7));
                }
                else
                {
                    _loc_12.push(_loc_11[_loc_9]);
                }
                _loc_9++;
            }
            return _loc_12;
        }// end function

        private static function getCellDatasAnalyzeShowItem(param1:String, param2:Array = null, param3:int = -1, param4:int = 12) : Vector.<ChatCellData>
        {
            var _loc_6:int = 0;
            var _loc_7:ChatCellData = null;
            var _loc_8:int = 0;
            var _loc_9:ItemData = null;
            var _loc_10:String = null;
            var _loc_11:String = null;
            if (param3 == -1)
            {
                param3 = ChatStyle.getChatContentColor();
            }
            var _loc_5:* = new Vector.<ChatCellData>;
            if (param2 && param2.length > 0)
            {
                _loc_8 = 0;
                while (_loc_8 < param2.length)
                {
                    
                    _loc_9 = param2[_loc_8];
                    _loc_10 = "[" + _loc_9.posType + "," + _loc_9.uid + "]";
                    _loc_6 = param1.indexOf(_loc_10);
                    if (_loc_6 >= 0)
                    {
                        _loc_7 = ObjectPool.getObject(ChatCellData);
                        _loc_7.init(CellDataType.GENERAL, param1.slice(0, _loc_6));
                        _loc_7.elementFormat = ChatStyle.getContentFormat(param3, param4);
                        _loc_5.push(_loc_7);
                        _loc_11 = "[" + _loc_9.itemInfo.name + "]";
                        if (ItemsUtil.isOtherEquip(_loc_9) && _loc_9.itemInfo.itemLevel)
                        {
                            _loc_11 = "[" + _loc_9.itemInfo.name + "]+" + _loc_9.itemInfo.itemLevel;
                        }
                        _loc_7 = ObjectPool.getObject(ChatCellData);
                        _loc_7.init(CellDataType.EQUIPMENT, _loc_11);
                        _loc_7.data = _loc_9;
                        _loc_7.elementFormat = ChatStyle.getEquipmentFormat(_loc_9, param4);
                        _loc_5.push(_loc_7);
                        param1 = " " + param1.slice(_loc_6 + _loc_10.length);
                        if (param1.length == 0)
                        {
                            break;
                        }
                    }
                    else
                    {
                        ;
                    }
                    _loc_8++;
                }
            }
            if (param1.length > 0)
            {
                _loc_7 = ObjectPool.getObject(ChatCellData);
                _loc_7.init(CellDataType.GENERAL, param1);
                _loc_7.elementFormat = ChatStyle.getContentFormat(param3, param4);
                _loc_5.push(_loc_7);
            }
            return _loc_5;
        }// end function

        private static function getCellDatasAnalyzeShowPet(param1:String, param2:Array = null, param3:int = -1, param4:int = 12) : Vector.<ChatCellData>
        {
            var _loc_6:int = 0;
            var _loc_7:ChatCellData = null;
            var _loc_8:int = 0;
            var _loc_9:SPet = null;
            var _loc_10:String = null;
            var _loc_11:String = null;
            if (param3 == -1)
            {
                param3 = ChatStyle.getChatContentColor();
            }
            var _loc_5:* = new Vector.<ChatCellData>;
            if (param2 && param2.length > 0)
            {
                _loc_8 = 0;
                while (_loc_8 < param2.length)
                {
                    
                    _loc_9 = param2[_loc_8];
                    _loc_10 = "[" + EPlayerItemPosType._EPlayerItemPosTypePet + "," + _loc_9.publicPet.uid + "]";
                    _loc_6 = param1.indexOf(_loc_10);
                    if (_loc_6 >= 0)
                    {
                        _loc_7 = ObjectPool.getObject(ChatCellData);
                        _loc_7.init(CellDataType.GENERAL, param1.slice(0, _loc_6));
                        _loc_7.elementFormat = ChatStyle.getContentFormat(param3, param4);
                        _loc_5.push(_loc_7);
                        _loc_11 = _loc_9.publicPet.name;
                        _loc_11 = "[" + _loc_11 + "]";
                        _loc_7 = ObjectPool.getObject(ChatCellData);
                        _loc_7.init(CellDataType.PET, _loc_11);
                        _loc_7.data = _loc_9;
                        _loc_7.elementFormat = ChatStyle.getPetFormat(_loc_9, param4);
                        _loc_5.push(_loc_7);
                        param1 = " " + param1.slice(_loc_6 + _loc_10.length);
                        if (param1.length == 0)
                        {
                            break;
                        }
                    }
                    else
                    {
                        ;
                    }
                    _loc_8++;
                }
            }
            if (param1.length > 0)
            {
                _loc_7 = ObjectPool.getObject(ChatCellData);
                _loc_7.init(CellDataType.GENERAL, param1);
                _loc_7.elementFormat = ChatStyle.getContentFormat(param3, param4);
                _loc_5.push(_loc_7);
            }
            return _loc_5;
        }// end function

        private static function getCellDatasAnalyzeMapPoint(param1:String, param2:int = -1, param3:int = 12) : Vector.<ChatCellData>
        {
            var _loc_9:ChatCellData = null;
            var _loc_10:ChatCellData = null;
            var _loc_11:Array = null;
            var _loc_12:String = null;
            var _loc_13:int = 0;
            var _loc_14:int = 0;
            var _loc_15:int = 0;
            var _loc_16:int = 0;
            var _loc_17:ChatShowPoint = null;
            var _loc_18:SceneInfo = null;
            if (param2 == -1)
            {
                param2 = ChatStyle.getChatContentColor();
            }
            if (!param1)
            {
                return new Vector.<ChatCellData>;
            }
            var _loc_4:* = new Vector.<ChatCellData>;
            if (param1.length == 0)
            {
                return _loc_4;
            }
            var _loc_5:int = 0;
            var _loc_6:int = 0;
            var _loc_7:int = 0;
            var _loc_8:int = 0;
            while (_loc_6 < param1.length - 7)
            {
                
                _loc_6 = param1.indexOf("[", _loc_6);
                _loc_8 = _loc_6 + 1;
                if (_loc_6 < 0)
                {
                    break;
                }
                _loc_11 = new Array();
                _loc_7 = param1.indexOf("]", _loc_8);
                if (_loc_7 < 0)
                {
                    break;
                }
                _loc_12 = param1.substring(_loc_8, _loc_7);
                _loc_13 = _loc_12.indexOf("[");
                if (_loc_13 >= 0)
                {
                    _loc_6 = _loc_6 + (_loc_13 + 1);
                    continue;
                }
                if (_loc_12.length <= 0)
                {
                    _loc_6 = _loc_7 + 1;
                    continue;
                }
                _loc_11 = _loc_12.split(",");
                if (_loc_11.length < 3)
                {
                    _loc_6 = _loc_7 + 1;
                    continue;
                }
                _loc_14 = int(_loc_11[0]);
                _loc_15 = int(_loc_11[1]);
                _loc_16 = int(_loc_11[2]);
                _loc_17 = new ChatShowPoint(_loc_14, _loc_15, _loc_16);
                if (!_loc_17.mapNameString())
                {
                    _loc_6 = _loc_7 + 1;
                    continue;
                }
                if (_loc_6 > _loc_5)
                {
                    _loc_9 = ObjectPool.getObject(ChatCellData);
                    _loc_9.init(CellDataType.GENERAL, param1.substring(_loc_5, _loc_6));
                    _loc_9.elementFormat = ChatStyle.getContentFormat(param2, param3);
                    _loc_4.push(_loc_9);
                }
                _loc_10 = ObjectPool.getObject(ChatCellData);
                _loc_10.init(CellDataType.RumorMapPoint, _loc_17.mapNameString());
                _loc_10.data = {mapId:_loc_17.mapId, mapX:_loc_17.x, mapY:_loc_17.y};
                _loc_10.elementFormat = ChatStyle.getRumorLink(param3);
                _loc_4.push(_loc_10);
                _loc_9 = ObjectPool.getObject(ChatCellData);
                _loc_9.init(CellDataType.GENERAL, " ");
                _loc_9.elementFormat = ChatStyle.getContentFormat(param2, param3);
                _loc_4.push(_loc_9);
                _loc_18 = SceneConfig.instance.getSceneInfo(_loc_17.mapId);
                if (_loc_18 && _loc_18.limitInfo.canPassTo())
                {
                    _loc_10 = ObjectPool.getObject(ChatCellData);
                    _loc_10.init(CellDataType.RumorFly);
                    _loc_10.data = {mapId:_loc_17.mapId, mapX:_loc_17.x, mapY:_loc_17.y};
                    _loc_10.elementFormat = ChatStyle.getImageFormat(2, param3);
                    _loc_4.push(_loc_10);
                }
                _loc_5 = _loc_7 + 1;
                _loc_6 = _loc_5;
            }
            if (_loc_5 < param1.length)
            {
                _loc_9 = ObjectPool.getObject(ChatCellData);
                _loc_9.init(CellDataType.GENERAL, param1.substring(_loc_5));
                _loc_9.elementFormat = ChatStyle.getContentFormat(param2, param3);
                _loc_4.push(_loc_9);
            }
            return _loc_4;
        }// end function

        public static function getCellDataAnalyzeBR(param1:String, param2:int = -1, param3:int = 12) : Vector.<ChatCellData>
        {
            var _loc_6:ChatCellData = null;
            var _loc_4:* = param1.indexOf("/n");
            var _loc_5:int = 0;
            var _loc_7:* = new Vector.<ChatCellData>;
            while (_loc_4 >= 0)
            {
                
                if (_loc_4 > _loc_5)
                {
                    _loc_6 = ObjectPool.getObject(ChatCellData);
                    _loc_6.init(CellDataType.GENERAL, param1.substring(_loc_5, _loc_4));
                    _loc_6.elementFormat = ChatStyle.getContentFormat(param2);
                    _loc_7.push(_loc_6);
                }
                _loc_6 = ObjectPool.getObject(ChatCellData);
                _loc_6.init(CellDataType.GENERAL, " ");
                _loc_6.elementFormat = ChatStyle.getBRFormat();
                _loc_7.push(_loc_6);
                _loc_4 = _loc_4 + 2;
                _loc_5 = _loc_4;
                _loc_4 = param1.indexOf("/n", _loc_4);
            }
            if (_loc_5 < param1.length)
            {
                _loc_6 = ObjectPool.getObject(ChatCellData);
                _loc_6.init(CellDataType.GENERAL, param1.substring(_loc_5).replace("//", "/"));
                _loc_6.elementFormat = ChatStyle.getContentFormat(param2, param3);
                _loc_7.push(_loc_6);
            }
            return _loc_7;
        }// end function

        public static function getCellDataByContent(param1:String, param2:int = -1, param3:Boolean = true, param4:int = 12, param5:int = 3) : Vector.<ChatCellData>
        {
            var _loc_11:Boolean = false;
            var _loc_12:String = null;
            var _loc_13:ChatCellData = null;
            var _loc_14:ChatCellData = null;
            if (param2 == -1)
            {
                param2 = ChatStyle.getChatContentColor();
            }
            if (param3)
            {
                param1 = FilterText.instance.getFilterStr(param1);
            }
            if (param1.length == 0)
            {
                return new Vector.<ChatCellData>;
            }
            var _loc_6:int = 0;
            var _loc_7:int = 0;
            var _loc_8:* = new Vector.<ChatCellData>;
            var _loc_9:int = 0;
            var _loc_10:int = 0;
            while (_loc_10 < (param1.length - 1))
            {
                
                if (_loc_6 >= maxFaceNum)
                {
                    break;
                }
                _loc_10 = param1.indexOf("/", _loc_10);
                _loc_11 = false;
                if (_loc_10 < 0)
                {
                    break;
                }
                if (param1.charAt((_loc_10 + 1)) == "/")
                {
                    _loc_10 = _loc_10 + 2;
                    continue;
                }
                if (param5 | FaceAuthority.NORMAL)
                {
                    for each (_loc_12 in faceList)
                    {
                        
                        if (param1.indexOf(_loc_12, _loc_10) == _loc_10)
                        {
                            _loc_11 = true;
                            if (_loc_10 > _loc_9)
                            {
                                _loc_13 = ObjectPool.getObject(ChatCellData);
                                _loc_13.init(CellDataType.GENERAL, param1.substring(_loc_9, _loc_10).replace("//", "/"));
                                _loc_13.elementFormat = ChatStyle.getContentFormat(param2, param4);
                                _loc_8.push(_loc_13);
                            }
                            _loc_14 = ObjectPool.getObject(ChatCellData);
                            _loc_14.init(CellDataType.MovieClip);
                            _loc_14.className = "face" + int(StringUtil.trim(_loc_12.substring(1)));
                            _loc_14.text = _loc_12;
                            _loc_14.elementFormat = ChatStyle.getFaceFormat(param4);
                            _loc_8.push(_loc_14);
                            _loc_9 = _loc_10 + _loc_12.length;
                            _loc_10 = _loc_9;
                            _loc_6++;
                            _loc_7++;
                            break;
                        }
                    }
                }
                if (_loc_7 < maxVIPFaceNum && param5 & FaceAuthority.VIP)
                {
                    for each (_loc_12 in vipFaceList)
                    {
                        
                        if (param1.indexOf(_loc_12, _loc_10) == _loc_10)
                        {
                            _loc_11 = true;
                            if (_loc_10 > _loc_9)
                            {
                                _loc_13 = ObjectPool.getObject(ChatCellData);
                                _loc_13.init(CellDataType.GENERAL, param1.substring(_loc_9, _loc_10).replace("//", "/"));
                                _loc_13.elementFormat = ChatStyle.getContentFormat(param2, param4);
                                _loc_8.push(_loc_13);
                            }
                            _loc_14 = ObjectPool.getObject(ChatCellData);
                            _loc_14.init(CellDataType.VIPFace);
                            _loc_14.className = "bface" + int(StringUtil.trim(_loc_12.substring(2)));
                            _loc_14.text = _loc_12;
                            _loc_14.elementFormat = ChatStyle.getVIPFaceFormat(param4);
                            _loc_8.push(_loc_14);
                            _loc_9 = _loc_10 + _loc_12.length;
                            _loc_10 = _loc_9;
                            _loc_6++;
                            _loc_7++;
                            break;
                        }
                    }
                }
                if (!_loc_11)
                {
                    _loc_10++;
                }
            }
            if (_loc_9 < param1.length)
            {
                _loc_13 = ObjectPool.getObject(ChatCellData);
                _loc_13.init(CellDataType.GENERAL, param1.substring(_loc_9).replace("//", "/"));
                _loc_13.elementFormat = ChatStyle.getContentFormat(param2, param4);
                _loc_8.push(_loc_13);
            }
            return _loc_8;
        }// end function

        public static function getCellDatasFilterHtml(param1:String, param2:int = -1, param3:Array = null, param4:int = 12) : Vector.<ChatCellData>
        {
            var _loc_6:Vector.<ChatCellData> = null;
            var _loc_15:String = null;
            var _loc_16:String = null;
            var _loc_17:ChatCellData = null;
            if (!param3)
            {
                param3 = [];
            }
            if (param2 == -1)
            {
                param2 = ChatStyle.getChatContentColor();
            }
            param1 = param1.replace("\n", "");
            param1 = param1.replace("\r", "");
            var _loc_5:* = new Vector.<ChatCellData>;
            if (param1.length == 0)
            {
                return _loc_5;
            }
            var _loc_7:int = 0;
            var _loc_8:int = 0;
            var _loc_9:int = 0;
            var _loc_10:int = 0;
            while (_loc_8 < param1.length - 10)
            {
                
                _loc_8 = param1.indexOf("<a href=\"", _loc_8);
                if (_loc_8 < 0)
                {
                    break;
                }
                _loc_9 = _loc_8 + 9;
                _loc_9 = param1.indexOf("\"", _loc_9);
                if (_loc_9 < 0)
                {
                    _loc_8 = _loc_8 + 9;
                    continue;
                }
                _loc_15 = param1.substring(_loc_8 + 9, _loc_9);
                _loc_10 = _loc_9;
                _loc_9 = param1.indexOf(">", _loc_9);
                if (_loc_9 < 0)
                {
                    _loc_8 = _loc_8 + 9;
                    continue;
                }
                _loc_10 = param1.indexOf("</a>", _loc_9);
                if (_loc_10 < 0)
                {
                    _loc_8 = _loc_8 + 9;
                    continue;
                }
                _loc_16 = param1.substring((_loc_9 + 1), _loc_10);
                if (_loc_8 > _loc_7)
                {
                    _loc_6 = getCellDataByContent(param1.substring(_loc_7, _loc_8), param2, false, param4);
                    _loc_5 = _loc_5.concat(_loc_6);
                }
                _loc_17 = ObjectPool.getObject(ChatCellData);
                _loc_17.elementFormat = ChatStyle.getLinkFormat(param4);
                _loc_17.init(CellDataType.LINK);
                _loc_17.text = _loc_16;
                _loc_17.linkUrl = _loc_15;
                _loc_5.push(_loc_17);
                _loc_7 = _loc_10 + 4;
                _loc_8 = _loc_7;
            }
            if (_loc_7 < param1.length)
            {
                _loc_6 = getCellDataByContent(param1.substring(_loc_7), param2, false, param4);
                _loc_5 = _loc_5.concat(_loc_6);
            }
            var _loc_11:* = new Vector.<ChatCellData>;
            var _loc_12:int = 0;
            while (_loc_12 < _loc_5.length)
            {
                
                if (_loc_5[_loc_12].type == CellDataType.GENERAL)
                {
                    _loc_11 = _loc_11.concat(getCellDatasByAnalyzeRumor(_loc_5[_loc_12].text, param3, _loc_5[_loc_12].elementFormat.color, false, -1, param4));
                }
                else
                {
                    _loc_11.push(_loc_5[_loc_12]);
                }
                _loc_12++;
            }
            var _loc_13:* = new Vector.<ChatCellData>;
            var _loc_14:int = 0;
            while (_loc_14 < _loc_11.length)
            {
                
                if (_loc_11[_loc_14].type == CellDataType.GENERAL)
                {
                    _loc_13 = _loc_13.concat(getCellDatasFilterFont(_loc_11[_loc_14].text, _loc_11[_loc_14].elementFormat.color, param4));
                }
                else
                {
                    _loc_13.push(_loc_11[_loc_14]);
                }
                _loc_14++;
            }
            return _loc_13;
        }// end function

        public static function getCellDatasFilterFont(param1:String, param2:int = -1, param3:int = 12) : Vector.<ChatCellData>
        {
            var _loc_5:ChatCellData = null;
            var _loc_6:Vector.<ChatCellData> = null;
            var _loc_11:String = null;
            var _loc_12:String = null;
            var _loc_13:ChatCellData = null;
            if (param2 == -1)
            {
                param2 = ChatStyle.getChatContentColor();
            }
            param1 = param1.replace("\n", "");
            param1 = param1.replace("\r", "");
            var _loc_4:* = new Vector.<ChatCellData>;
            if (param1.length == 0)
            {
                return _loc_4;
            }
            var _loc_7:int = 0;
            var _loc_8:int = 0;
            var _loc_9:int = 0;
            var _loc_10:int = 0;
            while (_loc_8 < param1.length - 15)
            {
                
                _loc_8 = param1.indexOf("<font color=\"", _loc_8);
                if (_loc_8 < 0)
                {
                    break;
                }
                _loc_9 = _loc_8 + 13;
                _loc_9 = param1.indexOf("\"", _loc_9);
                if (_loc_9 < 0)
                {
                    _loc_8 = _loc_8 + 13;
                    continue;
                }
                _loc_11 = param1.substring(_loc_8 + 13, _loc_9);
                _loc_10 = _loc_9;
                _loc_9 = param1.indexOf(">", _loc_9);
                if (_loc_9 < 0)
                {
                    _loc_8 = _loc_8 + 13;
                    continue;
                }
                _loc_10 = param1.indexOf("</font>", _loc_9);
                if (_loc_10 < 0)
                {
                    _loc_8 = _loc_8 + 13;
                    continue;
                }
                _loc_12 = param1.substring((_loc_9 + 1), _loc_10);
                if (_loc_8 > _loc_7)
                {
                    _loc_5 = ObjectPool.getObject(ChatCellData);
                    _loc_5.init(CellDataType.GENERAL, param1.substring(_loc_7, _loc_8));
                    _loc_5.elementFormat = ChatStyle.getContentFormat(param2, param3);
                    _loc_4.push(_loc_5);
                }
                _loc_13 = ObjectPool.getObject(ChatCellData);
                _loc_13.elementFormat = ChatStyle.getContentFormat(parseInt(_loc_11.substr(1)), param3);
                _loc_13.init(CellDataType.GENERAL, _loc_12);
                _loc_4.push(_loc_13);
                _loc_7 = _loc_10 + 7;
                _loc_8 = _loc_7;
            }
            if (_loc_7 < param1.length)
            {
                _loc_5 = ObjectPool.getObject(ChatCellData);
                _loc_5.init(CellDataType.GENERAL, param1.substring(_loc_7));
                _loc_5.elementFormat = ChatStyle.getContentFormat(param2, param3);
                _loc_4.push(_loc_5);
            }
            return _loc_4;
        }// end function

        public static function getCellDatasByAnalyzeRumor(param1:String, param2:Array, param3:int = -1, param4:Boolean = false, param5:int = -1, param6:int = 12) : Vector.<ChatCellData>
        {
            var _loc_12:ChatCellData = null;
            var _loc_13:ChatCellData = null;
            var _loc_14:Array = null;
            var _loc_15:String = null;
            var _loc_16:String = null;
            var _loc_17:int = 0;
            var _loc_18:int = 0;
            var _loc_19:int = 0;
            var _loc_20:int = 0;
            var _loc_21:int = 0;
            var _loc_22:String = null;
            var _loc_23:int = 0;
            var _loc_24:int = 0;
            var _loc_25:SMiniPlayer = null;
            var _loc_26:int = 0;
            var _loc_27:int = 0;
            var _loc_28:ColorInfo = null;
            var _loc_29:String = null;
            var _loc_30:int = 0;
            var _loc_31:String = null;
            var _loc_32:DefInfo = null;
            var _loc_33:int = 0;
            var _loc_34:int = 0;
            var _loc_35:int = 0;
            var _loc_36:TMountConfig = null;
            var _loc_37:int = 0;
            var _loc_38:String = null;
            var _loc_39:int = 0;
            var _loc_40:String = null;
            var _loc_41:SPlayerItem = null;
            var _loc_42:ItemData = null;
            var _loc_43:String = null;
            var _loc_44:int = 0;
            var _loc_45:String = null;
            var _loc_46:String = null;
            var _loc_47:int = 0;
            var _loc_48:String = null;
            var _loc_49:int = 0;
            var _loc_50:int = 0;
            var _loc_51:DefInfo = null;
            var _loc_52:String = null;
            var _loc_53:String = null;
            var _loc_54:int = 0;
            var _loc_55:Point = null;
            var _loc_56:Boolean = false;
            var _loc_57:String = null;
            var _loc_58:SceneInfo = null;
            var _loc_59:String = null;
            var _loc_60:String = null;
            var _loc_61:String = null;
            var _loc_62:int = 0;
            var _loc_63:Number = NaN;
            var _loc_64:String = null;
            var _loc_65:String = null;
            var _loc_66:SEntityId = null;
            var _loc_67:int = 0;
            var _loc_68:String = null;
            var _loc_69:int = 0;
            var _loc_70:String = null;
            var _loc_71:RedPackData = null;
            var _loc_72:int = 0;
            var _loc_73:int = 0;
            var _loc_74:int = 0;
            var _loc_75:int = 0;
            var _loc_76:TBoss = null;
            var _loc_77:int = 0;
            var _loc_78:int = 0;
            var _loc_79:int = 0;
            var _loc_80:String = null;
            var _loc_81:int = 0;
            var _loc_82:int = 0;
            var _loc_83:String = null;
            var _loc_84:ChatCellData = null;
            var _loc_85:TPlayerModel = null;
            if (param3 == -1)
            {
                param3 = ChatStyle.getChatContentColor();
            }
            if (!param1)
            {
                return new Vector.<ChatCellData>;
            }
            param1 = param1.replace("\n", "");
            param1 = param1.replace("\r", "");
            var _loc_7:* = new Vector.<ChatCellData>;
            if (param1.length == 0)
            {
                return _loc_7;
            }
            var _loc_8:int = 0;
            var _loc_9:int = 0;
            var _loc_10:int = 0;
            var _loc_11:int = 0;
            while (_loc_9 < param1.length - 17)
            {
                
                _loc_9 = param1.indexOf("<MsgObj>", _loc_9);
                _loc_11 = _loc_9 + 8;
                if (_loc_9 < 0)
                {
                    break;
                }
                _loc_14 = new Array();
                _loc_10 = param1.indexOf("</MsgObj>", _loc_11);
                if (_loc_10 < 0)
                {
                    break;
                }
                _loc_15 = param1.substring(_loc_11, _loc_10);
                if (_loc_15.length < 0)
                {
                    _loc_9 = _loc_10 + 9;
                    continue;
                }
                _loc_14 = _loc_15.split(",");
                _loc_16 = _loc_14.shift();
                switch(_loc_16)
                {
                    case "LEVELLIMIT":
                    {
                        if (_loc_14.length < 1)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_26 = int(_loc_14[0]);
                        if (Cache.instance.role.entityInfo.level < _loc_26)
                        {
                            return new Vector.<ChatCellData>;
                        }
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case "PLAYER":
                    {
                        if (_loc_14.length < 1)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        if (!param4)
                        {
                            _loc_24 = int(_loc_14[0]);
                            if (param2.length <= _loc_24)
                            {
                                return new Vector.<ChatCellData>;
                            }
                        }
                        _loc_25 = param2[_loc_24] as SMiniPlayer;
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        if (!param4)
                        {
                            if (_loc_25.force && _loc_25.copyCode)
                            {
                                if (_loc_25.copyCode == GameConst.BattleFieldCopyCode)
                                {
                                    _loc_32 = GameDefConfig.instance.getBattlefieldForceInfo(_loc_25.force);
                                    _loc_82 = parseInt(_loc_32.text1.substr(1), 16);
                                    _loc_83 = "[" + _loc_32.text + "]";
                                    _loc_12 = ObjectPool.getObject(ChatCellData);
                                    _loc_12.init(CellDataType.GENERAL, _loc_83);
                                    _loc_12.elementFormat = ChatStyle.getContentFormat(_loc_82, param6);
                                    _loc_7.push(_loc_12);
                                }
                            }
                            _loc_13 = ObjectPool.getObject(ChatCellData);
                            _loc_13.init(CellDataType.RumorPlayer);
                            if (EntityUtil.isSameServerByRole(_loc_25.entityId))
                            {
                                _loc_13.text = _loc_25.name;
                            }
                            else
                            {
                                _loc_13.text = NameUtil.getProxyName(_loc_25.entityId, true) + _loc_25.name;
                            }
                            _loc_13.data = _loc_25;
                            _loc_81 = ColorConfig.instance.getCareerColor(_loc_25.career).intColor;
                            _loc_13.elementFormat = ChatStyle.getRumorPlayerNameFormat(_loc_81, param6);
                            _loc_7.push(_loc_13);
                        }
                        else
                        {
                            _loc_22 = _loc_14[0];
                            _loc_13 = ObjectPool.getObject(ChatCellData);
                            _loc_13.init(CellDataType.GENERAL, _loc_22);
                            _loc_13.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_13);
                        }
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case "ITEM":
                    {
                        if (_loc_14.length < 1)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_39 = int(_loc_14.shift());
                        _loc_40 = "";
                        if (_loc_14.length > 0)
                        {
                            _loc_40 = _loc_14.join(",");
                        }
                        _loc_41 = new SPlayerItem();
                        _loc_41.itemAmount = 1;
                        _loc_41.itemCode = _loc_39;
                        _loc_41.jsStr = _loc_40;
                        _loc_41.playerId = 0;
                        _loc_41.posType = 0;
                        _loc_41.uid = "";
                        _loc_42 = new ItemData(_loc_41);
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_43 = ItemsUtil.getItemWholeName(_loc_42);
                        if (ItemsUtil.isOtherEquip(_loc_42) && _loc_42.itemInfo.itemLevel)
                        {
                            _loc_43 = "[" + _loc_42.itemInfo.name + "]+" + _loc_42.itemInfo.itemLevel;
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(CellDataType.RumorItem, _loc_43);
                        _loc_13.data = _loc_42;
                        _loc_13.elementFormat = ChatStyle.getRumorEquipmentFormat(_loc_42, param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case "COPY":
                    {
                        if (_loc_14.length < 2)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_44 = int(_loc_14[0]);
                        _loc_45 = Language.getString(11553);
                        if (_loc_14.length > 1)
                        {
                            _loc_45 = _loc_14[1];
                        }
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(CellDataType.RumorCopy, _loc_45);
                        _loc_13.data = _loc_44;
                        _loc_13.elementFormat = ChatStyle.getRumorLink(param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case "APPLYTOTEAM":
                    {
                        if (_loc_14.length < 1)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_46 = Language.getString(11553);
                        _loc_24 = int(_loc_14[0]);
                        if (_loc_14.length > 1)
                        {
                            _loc_44 = _loc_14[1];
                        }
                        if (param2.length <= _loc_24)
                        {
                            return new Vector.<ChatCellData>;
                        }
                        _loc_25 = param2[_loc_24] as SMiniPlayer;
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(CellDataType.RumorApplyToTeam, _loc_46);
                        _loc_13.data = {copyCode:_loc_44, miniPlayer:_loc_25};
                        _loc_13.elementFormat = ChatStyle.getRumorLink(param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case "COLOR":
                    {
                        if (_loc_14.length < 2)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_37 = int(_loc_14[0]);
                        _loc_31 = _loc_14[1];
                        _loc_28 = ColorConfig.instance.getRumorColor(_loc_37);
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(CellDataType.GENERAL, _loc_31);
                        _loc_13.elementFormat = ChatStyle.getContentFormat(_loc_28 ? (_loc_28.intColor) : (65280), param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case "GUILDBOSSCOPY":
                    {
                        if (_loc_14.length < 1)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_47 = int(_loc_14[0]);
                        _loc_32 = GameDefConfig.instance.getItem("EGuildBossColor", _loc_47);
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(CellDataType.GENERAL, Language.getStringByParam(11564, _loc_32.text, CopyConfig.instance.getCopyInfoByCode(GuildConst.GuildCopyId).name));
                        _loc_13.elementFormat = ChatStyle.getContentFormat(parseInt(_loc_32.text1.substr(1), 16), param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case "CAMPCOLOR":
                    {
                        if (_loc_14.length < 2)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_23 = int(_loc_14[0]);
                        _loc_31 = _loc_14[1];
                        _loc_48 = GameDefConfig.instance.getECamp(_loc_23).text1;
                        _loc_49 = parseInt(_loc_48.substr(1), 16);
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(CellDataType.GENERAL, _loc_31);
                        _loc_13.elementFormat = ChatStyle.getContentFormat(_loc_49, param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case "QUALITY":
                    {
                        if (_loc_14.length < 1)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_50 = int(_loc_14[0]);
                        _loc_51 = GameDefConfig.instance.getEPrefixx(_loc_50);
                        _loc_52 = _loc_51.text;
                        _loc_53 = _loc_51.text1;
                        _loc_54 = parseInt(_loc_53.substr(1), 16);
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(CellDataType.GENERAL, _loc_52);
                        _loc_13.elementFormat = ChatStyle.getContentFormat(_loc_54, param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case "RumorMapPoint":
                    {
                        if (_loc_14.length < 3)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_18 = int(_loc_14[0]);
                        _loc_19 = int(_loc_14[1]);
                        _loc_20 = int(_loc_14[2]);
                        _loc_55 = GameMapUtil.getPixelPoint(_loc_19, _loc_20);
                        _loc_19 = _loc_55.x;
                        _loc_20 = _loc_55.y;
                        _loc_56 = true;
                        _loc_57 = Language.getString(11554);
                        if (_loc_14.length > 3)
                        {
                            _loc_56 = Boolean(_loc_14[3]);
                        }
                        if (_loc_14.length > 4)
                        {
                            _loc_57 = String(_loc_14[4]);
                        }
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_12 = ObjectPool.getObject(ChatCellData);
                        _loc_12.init(CellDataType.RumorMapPoint, _loc_57);
                        _loc_12.data = {mapId:_loc_18, mapX:_loc_19, mapY:_loc_20};
                        _loc_12.elementFormat = ChatStyle.getRumorLink(param6);
                        _loc_7.push(_loc_12);
                        _loc_58 = SceneConfig.instance.getSceneInfo(_loc_18);
                        if (_loc_58 && _loc_58.limitInfo.canPassTo())
                        {
                            if (_loc_56)
                            {
                                _loc_13 = ObjectPool.getObject(ChatCellData);
                                _loc_13.init(CellDataType.RumorFly);
                                _loc_13.data = {mapId:_loc_18, mapX:_loc_19, mapY:_loc_20};
                                _loc_13.elementFormat = ChatStyle.getImageFormat(2, param6);
                                _loc_7.push(_loc_13);
                            }
                        }
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case "GotoEscort":
                    {
                        _loc_59 = Language.getString(11554);
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_12 = ObjectPool.getObject(ChatCellData);
                        _loc_12.init(CellDataType.GotoEscort, _loc_59);
                        _loc_12.elementFormat = ChatStyle.getRumorLink(param6);
                        _loc_7.push(_loc_12);
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(CellDataType.FlyEscort);
                        _loc_13.elementFormat = ChatStyle.getImageFormat(2, param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case "OBBATTLE":
                    {
                        if (_loc_14.length < 1)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_38 = String(_loc_14[0]);
                        _loc_60 = Language.getString(11555);
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_12 = ObjectPool.getObject(ChatCellData);
                        _loc_12.init(CellDataType.OBBATTLE, _loc_60);
                        _loc_12.data = _loc_38;
                        _loc_12.elementFormat = ChatStyle.getRumorLink(param6);
                        _loc_7.push(_loc_12);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case "BATTLEBYGUILD":
                    {
                        if (_loc_14.length < 2)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_17 = int(_loc_14[0]);
                        _loc_38 = String(_loc_14[1]);
                        _loc_29 = Language.getString(11556);
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_12 = ObjectPool.getObject(ChatCellData);
                        _loc_12.init(CellDataType.BATTLEBYGUILD, _loc_29);
                        _loc_12.data = {playerId:_loc_17, battleId:_loc_38};
                        _loc_12.elementFormat = ChatStyle.getRumorLink(param6);
                        _loc_7.push(_loc_12);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case "MARKET":
                    {
                        if (_loc_14.length < 2)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3);
                            _loc_7.push(_loc_12);
                        }
                        _loc_61 = Language.getString(11557);
                        _loc_62 = int(_loc_14[0]);
                        _loc_63 = Number(_loc_14[1]);
                        if (_loc_62 == 0)
                        {
                            _loc_61 = Language.getString(11557);
                            _loc_64 = CellDataType.MarketWantBuy;
                        }
                        else if (_loc_62 == 1)
                        {
                            _loc_61 = Language.getString(11558);
                            _loc_64 = CellDataType.MarketWantSell;
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(_loc_64, _loc_61);
                        _loc_13.data = _loc_63;
                        _loc_13.elementFormat = ChatStyle.getRumorLink();
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case "FASTAPPLYTOGUILD":
                    {
                        if (_loc_14.length < 3)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_17 = _loc_14[0];
                        _loc_22 = _loc_14[1];
                        _loc_27 = _loc_14[2];
                        _loc_65 = Language.getString(11559);
                        if (_loc_14.length > 3)
                        {
                            _loc_65 = _loc_14[3];
                        }
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_25 = new SMiniPlayer();
                        _loc_66 = new SEntityId();
                        _loc_66.id = _loc_17;
                        _loc_25.entityId = _loc_66;
                        _loc_25.online = true;
                        _loc_25.name = _loc_22;
                        if (!GuildUtil.isInMyGuild(_loc_27))
                        {
                            _loc_13 = ObjectPool.getObject(ChatCellData);
                            _loc_13.init(CellDataType.FastApplyToGUILD, _loc_65);
                            _loc_13.data = _loc_17;
                            _loc_13.elementFormat = ChatStyle.getRumorLink(param6);
                            _loc_7.push(_loc_13);
                        }
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case CellDataType.GUILDTASK_GET:
                    case CellDataType.GUILDTASK_ASK_SHARE:
                    {
                        if (_loc_14.length < 1)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_29 = Language.getString(11560);
                        if (_loc_16 == CellDataType.GUILDTASK_ASK_SHARE)
                        {
                            _loc_29 = Language.getString(21361);
                        }
                        _loc_67 = int(_loc_14[0]);
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(_loc_16, _loc_29);
                        _loc_13.data = _loc_67;
                        _loc_13.elementFormat = ChatStyle.getRumorLink(param6);
                        _loc_7.push(_loc_13);
                        if (_loc_16 == CellDataType.GUILDTASK_GET)
                        {
                            _loc_84 = ObjectPool.getObject(ChatCellData);
                            _loc_84.init(CellDataType.FlyBootEvent);
                            _loc_84.data = {eventName:EventName.GuildTaskFlyToGetShareTask, data:true};
                            _loc_84.elementFormat = ChatStyle.getImageFormat(2, param6);
                            _loc_7.push(_loc_84);
                        }
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case CellDataType.OPENVIEW:
                    {
                        if (_loc_14.length < 2)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_68 = _loc_14[0];
                        _loc_29 = _loc_14[1];
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(_loc_16, _loc_29);
                        _loc_13.data = _loc_68;
                        _loc_13.elementFormat = ChatStyle.getRumorLink(param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case CellDataType.RedPacket:
                    {
                        if (_loc_14.length < 2)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_69 = int(_loc_14[0]);
                        _loc_70 = String(_loc_14[1]);
                        _loc_29 = Language.getString(21362);
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(CellDataType.RedPacket, _loc_29);
                        _loc_71 = new RedPackData();
                        _loc_71.bossName = _loc_70;
                        _loc_71.packId = _loc_69;
                        _loc_13.data = _loc_71;
                        _loc_13.elementFormat = ChatStyle.getRumorLink(param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case CellDataType.GroupIWantSignUp:
                    {
                        if (_loc_14.length < 3)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_29 = Language.getString(21363);
                        _loc_73 = int(_loc_14[0]);
                        _loc_74 = int(_loc_14[1]);
                        _loc_75 = int(_loc_14[2]);
                        _loc_66 = new SEntityId();
                        _loc_66.id = _loc_73;
                        _loc_66.type = EEntityType._EEntityTypePlayer;
                        _loc_66.typeEx = _loc_74;
                        _loc_66.typeEx2 = _loc_75;
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        if (_loc_14.length > 3)
                        {
                            _loc_72 = int(_loc_14[3]);
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(CellDataType.GroupIWantSignUp, _loc_29);
                        _loc_13.data = {entityId:_loc_66, copyCode:_loc_72};
                        _loc_13.elementFormat = ChatStyle.getRumorLink(param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case CellDataType.GOTOGUILDBOSS:
                    {
                        if (_loc_14.length < 1)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_29 = _loc_14[0];
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(CellDataType.GOTOGUILDBOSS, _loc_29);
                        _loc_13.elementFormat = ChatStyle.getRumorLink(param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case CellDataType.BOSS:
                    {
                        if (_loc_14.length < 1)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_33 = int(_loc_14[0]);
                        _loc_76 = BossConfig.instance.getInfoByCode(_loc_33);
                        if (!_loc_76)
                        {
                            _loc_8 = _loc_10 + 9;
                            _loc_9 = _loc_8;
                            break;
                        }
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(CellDataType.BOSS, _loc_76.name);
                        _loc_13.elementFormat = ChatStyle.getContentFormat(GlobalStyle.colorBaiUint, param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case CellDataType.Mount:
                    {
                        if (_loc_14.length < 1)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_77 = int(_loc_14[0]);
                        _loc_36 = MountConfig.instance.getMountInfoByCode(_loc_77);
                        if (!_loc_36)
                        {
                            _loc_8 = _loc_10 + 9;
                            _loc_9 = _loc_8;
                            break;
                        }
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(CellDataType.Mount, _loc_36.name);
                        _loc_78 = ColorConfig.instance.getItemColor(Math.ceil(_loc_77 / 2)).intColor;
                        _loc_13.elementFormat = ChatStyle.getContentFormat(_loc_78, param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    case CellDataType.FashionClothes:
                    case CellDataType.FashionWing:
                    case CellDataType.FashionWeapon:
                    case CellDataType.FashionFightSoul:
                    case CellDataType.FashionFightMethod:
                    case CellDataType.FashionDragonSoul:
                    case CellDataType.FashionHolyBook:
                    case CellDataType.FashionWarShield:
                    case CellDataType.FashionMonsterSoul:
                    case CellDataType.FashionMonster:
                    case CellDataType.MSGPET:
                    {
                        if (_loc_14.length < 1)
                        {
                            _loc_9 = _loc_10 + 9;
                            break;
                        }
                        _loc_33 = int(_loc_14[0]);
                        if (_loc_14.length >= 3)
                        {
                            _loc_34 = int(_loc_14[1]);
                            _loc_35 = int(_loc_14[2]);
                        }
                        switch(_loc_16)
                        {
                            case CellDataType.FashionClothes:
                            {
                                _loc_79 = EAdvanceComponentType._EAdvanceComponentTypeClothes;
                                break;
                            }
                            case CellDataType.FashionWing:
                            {
                                _loc_79 = EAdvanceComponentType._EAdvanceComponentTypeWing;
                                break;
                            }
                            case CellDataType.FashionWeapon:
                            {
                                _loc_79 = EAdvanceComponentType._EAdvanceComponentTypeWeapon;
                                break;
                            }
                            case CellDataType.FashionFightSoul:
                            {
                                _loc_79 = EAdvanceComponentType._EAdvanceComponentTypeFightSoul;
                                break;
                            }
                            case CellDataType.FashionFightMethod:
                            {
                                _loc_79 = EAdvanceComponentType._EAdvanceComponentTypeFightMethod;
                                break;
                            }
                            case CellDataType.FashionDragonSoul:
                            {
                                _loc_79 = EAdvanceComponentType._EAdvanceComponentTypeDragonSoul;
                                break;
                            }
                            case CellDataType.FashionHolyBook:
                            {
                                _loc_79 = EAdvanceComponentType._EAdvanceComponentTypeHolyBook;
                                break;
                            }
                            case CellDataType.FashionWarShield:
                            {
                                _loc_79 = EAdvanceComponentType._EAdvanceComponentTypeWarShield;
                                break;
                            }
                            case CellDataType.FashionMonsterSoul:
                            {
                                _loc_79 = EAdvanceComponentType._EAdvanceComponentTypeMonsterSoul;
                                break;
                            }
                            case CellDataType.FashionMonster:
                            {
                                _loc_79 = EAdvanceComponentType._EAdvanceComponentTypeMonsterSoul;
                                break;
                            }
                            case CellDataType.MSGPET:
                            {
                                _loc_79 = EAdvanceComponentType._EAdvanceComponentTypePet;
                                break;
                            }
                            default:
                            {
                                break;
                            }
                        }
                        _loc_36 = MountConfig.instance.getFashionInfoByCode(_loc_79, _loc_33);
                        if (!_loc_36)
                        {
                            _loc_8 = _loc_10 + 9;
                            _loc_9 = _loc_8;
                            break;
                        }
                        if (_loc_9 > _loc_8)
                        {
                            _loc_12 = ObjectPool.getObject(ChatCellData);
                            _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8, _loc_9));
                            _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                            _loc_7.push(_loc_12);
                        }
                        _loc_80 = _loc_36.name;
                        if (_loc_79 == EAdvanceComponentType._EAdvanceComponentTypeWeapon)
                        {
                            _loc_85 = PlayerModelConfig.instance.getModelInfo(ModelType.WEAPONS, _loc_36.modelId, _loc_35, _loc_34);
                            if (_loc_85)
                            {
                                _loc_80 = _loc_85.name;
                            }
                        }
                        _loc_13 = ObjectPool.getObject(ChatCellData);
                        _loc_13.init(CellDataType.GENERAL, _loc_80);
                        _loc_37 = ColorConfig.instance.getItemColor(Math.ceil(_loc_33 / 2)).intColor;
                        _loc_13.elementFormat = ChatStyle.getContentFormat(_loc_37, param6);
                        _loc_7.push(_loc_13);
                        _loc_8 = _loc_10 + 9;
                        _loc_9 = _loc_8;
                        break;
                    }
                    default:
                    {
                        _loc_9 = _loc_10 + 9;
                        break;
                        break;
                    }
                }
            }
            if (_loc_8 < param1.length)
            {
                _loc_12 = ObjectPool.getObject(ChatCellData);
                _loc_12.init(CellDataType.GENERAL, param1.substring(_loc_8));
                _loc_12.elementFormat = ChatStyle.getContentFormat(param3, param6);
                _loc_7.push(_loc_12);
            }
            return _loc_7;
        }// end function

        public static function randomDiceText(param1:String) : String
        {
            return getDiceText(param1, Math.ceil(Math.random() * 100));
        }// end function

        public static function getDiceText(param1:String, param2:int) : String
        {
            return "<MsgObjDice>" + Language.getStringByParam(40651, param1, param2.toString()) + "</MsgObjDice>";
        }// end function

        public static function isDiceText(param1:String) : Boolean
        {
            return param1.indexOf("<MsgObjDice>") == 0 && param1.indexOf("</MsgObjDice>") > 0;
        }// end function

        public static function getDiceCellData(param1:String, param2:int = -1, param3:int = 12) : Vector.<ChatCellData>
        {
            var _loc_4:* = new Vector.<ChatCellData>;
            var _loc_5:* = ObjectPool.getObject(ChatCellData);
            _loc_5.init(CellDataType.GENERAL, Language.getString(40652));
            _loc_5.elementFormat = ChatStyle.getContentFormat(ChatStyle.getDiceColor(), param3);
            _loc_4.push(_loc_5);
            if (param2 == -1)
            {
                param2 = ChatStyle.getChatContentColor();
            }
            param1 = param1.replace("<MsgObjDice>", "");
            param1 = param1.replace("</MsgObjDice>", "");
            _loc_5 = ObjectPool.getObject(ChatCellData);
            _loc_5.init(CellDataType.GENERAL, param1);
            _loc_5.elementFormat = ChatStyle.getContentFormat(param2, param3);
            _loc_4.push(_loc_5);
            return _loc_4;
        }// end function

        public static function getHtmlByCellDatas(param1:Vector.<ChatCellData>) : String
        {
            var _loc_3:String = null;
            var _loc_2:String = "";
            var _loc_4:int = 0;
            while (_loc_4 < param1.length)
            {
                
                if (param1[_loc_4].type == CellDataType.RumorTran || param1[_loc_4].type == CellDataType.RumorCopy)
                {
                }
                else
                {
                    _loc_3 = HTMLUtil.addColor(param1[_loc_4].text, "#" + param1[_loc_4].elementFormat.color.toString(16));
                    _loc_2 = _loc_2 + _loc_3;
                }
                _loc_4++;
            }
            return _loc_2;
        }// end function

        public static function getNoticeContent(param1:SBroadcast) : void
        {
            if (!param1.msgKey)
            {
                return;
            }
            var _loc_2:* = SysMsgConfig.instance.getInfoByKey(param1.msgKey);
            if (_loc_2)
            {
                if (!param1.content)
                {
                    param1.content = getMsgKeyContent(_loc_2, param1.params);
                }
                if (_loc_2.type)
                {
                    param1.type = _loc_2.type;
                }
            }
            return;
        }// end function

        public static function getMsgKeyContent(param1:TSysMsg, param2:Array) : String
        {
            var _loc_3:String = null;
            var _loc_9:String = null;
            var _loc_10:int = 0;
            if (param1)
            {
                _loc_3 = param1.msgValue;
            }
            else
            {
                return "";
            }
            var _loc_4:String = "";
            var _loc_5:int = 0;
            var _loc_6:int = 0;
            var _loc_7:int = 0;
            var _loc_8:int = 0;
            while (_loc_6 < _loc_3.length - 4)
            {
                
                _loc_6 = _loc_3.indexOf("{$", _loc_6);
                _loc_8 = _loc_6 + 2;
                if (_loc_6 < 0)
                {
                    break;
                }
                _loc_7 = _loc_3.indexOf("}", _loc_8);
                if (_loc_7 < 0)
                {
                    break;
                }
                _loc_9 = _loc_3.substring(_loc_8, _loc_7);
                if (_loc_9.length < 0)
                {
                    _loc_6 = _loc_7 + 1;
                    continue;
                    continue;
                }
                _loc_10 = int(_loc_9);
                if (_loc_10 < 1 || _loc_10 > param2.length)
                {
                    _loc_6 = _loc_7 + 1;
                    continue;
                }
                _loc_4 = _loc_4 + _loc_3.substring(_loc_5, _loc_6);
                _loc_4 = _loc_4 + param2[(_loc_10 - 1)];
                _loc_6 = _loc_7 + 1;
                _loc_5 = _loc_6;
            }
            _loc_4 = _loc_4 + _loc_3.substring(_loc_5);
            return _loc_4;
        }// end function

    }
}
